
; This file defines parameters for cosmetic pursuit features with little effect on gameplay.
;
; For the TECHNICAL DETAILS AND LIMITATIONS of the features in here, see the "APPENDIX.txt" file.
; The UNEDITED VALUES in this file match the game's vanilla (i.e. unmodified) values.






; ── ■ │ PURSUIT VEHICLES │ ■ ─────────────────────────────────────────────────────────────────────

[Vehicles:Strings]
; Which notification string the game displays whenever you destroy a given cop vehicle.
;
; ■ FORMAT: pvehicle = stringLabel (-> "default" if omitted)
;
; • Incompatible with the "EnableCopDestroyedStringHook" feature of the "NFSMW Unlimiter" mod.
; • You can use the "Binary" tool by MaxHwoy to edit the game's labels and add new ones.
; • If you define no valid labels and no "default" value, Bartender disables this feature.
; • A vehicle / label is valid if it exists in VltEd / Binary.
; • A label can only be valid if its vehicle is also valid.
; • Each value must be a string (i.e. plain text).
; • You can define a "default" value.

; Vehicles without explicit labels (blank notification)
default = HUD_COPDESTROYED_DEFAULT

; Regular patrol cars
copmidsize  = HUD_COPDESTROYED_COPMIDSIZE
copghost    = HUD_COPDESTROYED_COPGHOST
copgto      = HUD_COPDESTROYED_COPGTO
copgtoghost = HUD_COPDESTROYED_COPGTOGHOST

; Elite street-racing unit
copsporthench = HUD_COPDESTROYED_COPSPORTHENCH
copsportghost = HUD_COPDESTROYED_COPSPORTGHOST
copsport      = HUD_COPDESTROYED_COPCROSS

; Heavy support units
copsuv       = HUD_COPDESTROYED_COPSUV
copsuvl      = HUD_COPDESTROYED_COPSUVL
copsuvpatrol = HUD_COPDESTROYED_COPSUV

; Sergeant Cross
copcross = HUD_COPDESTROYED_COPCROSS




[Vehicles:Callsigns]
; Which radio callsigns and chatter a given cop vehicle can trigger in player pursuits.
;
; ■ FORMAT: pvehicle = callsigns (-> "default" if omitted)
;
; • The game automatically assigns the helicopter-exclusive callsigns to helicopter vehicles.
; • If you define no valid callsigns and no "default" value, Bartender disables this feature.
; • A vehicle is valid if it exists in VltEd and isn't a helicopter.
; • A callsign group can only be valid if its vehicle is also valid.
; • Each value must be either "patrol", "elite", "rhino", or "cross".
; • The "patrol" callsigns include "Charlie-2", "Bravo 4-2", ...
; • The "elite"  callsigns include "X-ray 9",   "X-ray 11",  ...
; • The "rhino"  callsigns include "Rhino 4-1", "Rhino 5-2", ...
; • The "cross"  callsigns trigger Cross' unique lines.
; • You can define a "default" value.

; Vehicles without explicit callsigns
default = patrol

; Regular patrol cars
copmidsize  = patrol
copghost    = patrol
copgto      = patrol
copgtoghost = patrol

; Elite street-racing unit
copsporthench = elite
copsportghost = elite
copsport      = elite

; Heavy support units
copsuv       = rhino
copsuvl      = rhino
copsuvpatrol = rhino

; Sergeant Cross
copcross = cross




[Vehicles:Detection]
; Under which conditions a given cop vehicle shows up on the radar / mini-map.
;
; ■ FORMAT: pvehicle = radarRange, {patrol, pursuit}IconRange, keepsIcon (-> "default" if omitted)
;
; • "radarRange"       defines the distance below which a cop triggers the cop radar at the top.
; • "patrolIconRange"  defines the distance (in metres) below which a patrol cop gets an icon.
; • "pursuitIconRange" defines the distance (in metres) below which a pursuit cop gets an icon.
; • "keepsIcon"        defines whether a cop keeps its mini-map icon if it goes out of range again.
; • Regardless of your settings, the game only draws the mini-map icons of up to 8 cops.
; • If you define no valid settings and no "default" value tuple, Bartender disables this feature.
; • A vehicle is valid if it exists in VltEd and isn't a helicopter.
; • A settings tuple can only be valid if its vehicle is also valid.
; • Each range value must be a non-negative decimal or whole number.
; • Each keeping value must be either "true" or "false".
; • You can define a "default" value tuple.

; Vehicles without explicit ranges (uncomment to enable)
default = 1000.0, 450.0, 600.0, true

; Uncomment these sample values to hide undercover cops
copghost      = 300.0, 0.0, 150.0, false
copgtoghost   = 300.0, 0.0, 150.0, false
copsportghost = 300.0, 0.0, 150.0, false




[Helicopter:Vision]
; How line of sight to the player affects the colour of the helicopter cone-of-vision icon.
;
; ■ FORMAT: withinSightColour = {red, green, blue, alpha}Value, transitionLength
;           outOfSightColour  = {red, green, blue, alpha}Value, transitionLength
;
; • If enabled, the icon's colour changes whenever the player's in the helicopter's line of sight.
; • "transitionLength" defines how long (in seconds) the transition (gradient) to the colour takes.
; • If you don't define valid colours for both sight states, Bartender disables this feature.
; • Each colour value must be a whole number between 0 and 255 (inclusive).
; • Each transition value must be a non-negative decimal or whole number.
; • You can't define a "default" value tuple.

; Uncomment these sample values to enable line-of-sight-dependent icon colours
withinSightColour = 255, 120, 0, 180, 0.2
outOfSightColour  = 0, 150, 255, 120, 0.5






; ── ■ │ HEAT LEVELS │ ■ ──────────────────────────────────────────────────────────────────────────

[Heat:Jurisdiction]
; Which pursuit jurisdiction dispatch announces over radio after a Heat transition.
;
; ■ FORMAT: heatXY = jurisdiction (FREE-ROAM; -> "default" if omitted)
;           raceXY = jurisdiction (RACES;     -> "heatXY"  if omitted)
;
; • Whether dispatch makes a jurisdiction announcement is also subject to random chance.
; • Dispatch only makes a single jurisdiction announcement per pursuit (if at all).
; • The "city" jurisdiction doesn't trigger a radio announcement.
; • Each value must be either "city", "state", or "federal".
; • You can define a "default" value.

default = city

heat01 = city
heat02 = city
heat03 = state
heat04 = state
heat05 = federal
heat06 = federal
heat07 = federal
heat08 = federal
heat09 = federal
heat10 = federal

race01 = city
race02 = city
race03 = state
race04 = state
race05 = federal
race06 = federal
race07 = federal
race08 = federal
race09 = federal
race10 = federal






; ── ■ │ PURSUIT MUSIC │ ■ ────────────────────────────────────────────────────────────────────────

[Music:Playlist]
; The selection and order of interactive themes that play during player pursuits.
;
; ■ FORMAT: trackXY = pursuitTheme
;
; • There are four pursuit themes in the game: "theme1", "theme2", "theme3", and "theme4".
; • You can define a playlist of arbitrary length using these four themes (with duplicates).
; • By default, Bartender loops through this playlist from top to bottom in each pursuit.
; • You can customise how Bartender uses this playlist (see "[Playlist:Settings]" below).
; • If you don't define any valid tracks, Bartender disables all its playlist features.
; • Bartender ignores interactive themes that don't exist in the game.
; • Each value must be either "theme1", "theme2", "theme3", or "theme4".
; • You can't define a "default" value.

track01 = theme4
track02 = theme3
track03 = theme2
track04 = theme1
track05 = theme4
track06 = theme3
track07 = theme3
track08 = theme3
track09 = theme3
track10 = theme3



[Playlist:Settings]
; The shuffle settings and length per track (in seconds) for the pursuit-theme playlist.
;
; ■ FORMAT: shuffleFirstTrack = isEnabled
;           shuffleAfterFirst = isEnabled
;
;           lengthPerTrack = value
;
; • Bartender can shuffle the first track that plays in each pursuit.
; • Bartender can shuffle the tracks that play after the first in each pursuit.
; • These settings have no effect without a valid playlist (see "[Music:Playlist]" above).
; • If you don't define any shuffle settings, Bartender shuffles the first track in each pursuit.
; • If you don't define a track length, the first track in each pursuit keeps playing forever.
; • Each shuffle setting must be either "true" or "false".
; • The track length must be a non-negative decimal or whole number.
; • You can't define a "default" value.

shuffleFirstTrack = true
shuffleAfterFirst = true

lengthPerTrack = 300.0